Networking technologies based on various small-sized devices have been recently emerged and commercialized.
A home network enables to interconnect various consumer electronics devices such as refrigerator, TV set, washing machine, PC, and stereo, making it possible to providing a convenient, user-friendly living environment.
The UPnP™ (hereinafter, referred to UPnP) standard has been proposed to offer such a digital home network platform.
PnP (Plug and Play) technology that is widely embodied in most PC operating systems simplifies the process of adding hardware. UPnP technology is designed to extend the PnP technology to the network domain that has platforms consisting of Internet standard technologies such as TCP/IP, HTTP and XML. Thanks to UPnP technology, various consumer electronics devices with network functions, network printer, and Internet Gate are interconnected to each other to provide a unified network in which a new network device can be added readily and accessed from other devices remotely.
A UPnP network usually comprises a plurality of UPnP_devices, services and a control point (CP). Each service, the smallest accessible, controllable unit in a UPnP network is designated by its own unique state variables.
The CP is a control application that runs on a device on the network, such as PDA and has programmatic access to, monitors, and controls all of the devices on the network and/or their services.
The CP discovers devices on the network, invokes actions on services on the devices, subscribes to event notifications, and controls the device upon user's request that is made through user interface (UI).
As shown in FIG. 1, a UPnP AV home network comprises a media server 120 that provides AV data to devices on the network; a media renderer 130 that performs playback of the AV data; and a CP 110 that controls the media server 120 and the media renderer 130.
Playback of the media data on the network of FIG. 1 is described below in detail.
The media server 120 gets information about media data files, for example, directory path information through its own file system and sends to the CP 110 in response to UPnP action such as browsing action. Once a media file stored in the media server 120 is chosen via the UI on the CP 110, a stream of the media data file is sent to and presented at the media renderer 130.
Existing streaming types can be adopted as the format of the media data stream. The streaming type is not specified in the UPnP AV standard yet, and the out-of-band transfer protocol is currently adopted as the streaming protocol. For example, in case where a media stream is transmitted in the real-time transfer protocol (RTP), the transmission of the media stream can be monitored and transmission parameters can be adjusted by using the real-time control protocol (RTCP).
The UPnP AV networking mechanism is described below in more detail.
The AV control point 110 controls devices on the network such as media server 120 and media renderer 130 by invoking UPnP action on the devices. The simple object access protocol (SOAP) encapsulates a UPnP action request or response. In addition, the AV control point 110 receives all state variable changes by subscribing to the notification service on devices on the network.
The media server 120 offers ContentDirectory service 121 for searching for media contents stored in itself, ConnectionManager service 122 for managing connections established with other devices such as the media renderer 130, and AV Transport service 123 for controlling playback of media content such as play and stop.
The media renderer 130 offers RenderingControl service 131 for adjusting conditions of the media content presentation such as brightness and contrast, ConnectionManager service 132, and AV Transport service 133.
The AV CP 110 receives information on media content files on the media server 120 by invoking the ContentDirectory service 121 on the media server. Once a particular media file is chosen based on the information, the AV CP 110 establishes a connection between the media server 120 and the media renderer 130 by invoking the ConnectionManager services 122 and 132 on the two devices. The AV CP 110 sets playback control variables by using the AV Transport service 123 or 133 and then makes the media content played back by invoking a playback action either on the media server (for push mode) or on the media renderer (for pull mode). The playback conditions such as brightness, contrast, and audio volume can be adjusted during playback by using RenderingControl service 131 on the media render 130.
If subscribed to the event notification service, the AV CP 110 is notified that media contents on the media server 120 or state information on the media stream being played back is changed.
On the other hand, a user's request may be made to play a media content on more than one media renderers. For example, it is likely that a user goes to kitchen and, if there is a media renderer there, the user wants to keep watching a media content seamlessly there that the user has watched in a living room.
The UPnP technology does not, however, support multicast of media content files so that IP addresses are assigned inefficiently in the network. Furthermore, since media content files do not include information indicative of if they can be multicast, the UPnP technology does not offer a method of handling the multicast join requests from a plurality of media renderers.